package com.achievement.domain.param.honor;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "成果奖励检索字段")
public class HonorParam {
    /**
     * ID
     */
    private String id;

    /**
     * 奖励名称
     */
    @ApiModelProperty(value = "奖励名称")
    private String name;

    /**
     * 成果名称
     */
    @ApiModelProperty(value = "成果名称")
    private String productName;

    /**
     * 获奖类型 1成果奖 2人才奖
     */
    @ApiModelProperty(value = "获奖类型")
    private Integer honorNumber;

    /**
     * 发证机关
     */
    @ApiModelProperty(value = "发证机关")
    private String honorUnit;

    /**
     * 获奖开始日期
     */
    @ApiModelProperty(value = "获奖开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date honorDateStart;
    /**
     * 获奖结束日期
     */
    @ApiModelProperty(value = "获奖结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date honorDateEnd;

    /**
     * 获奖级别 1国家级 2部级 3省级 4地市级 5学校级 6其他
     */
    @ApiModelProperty(value = "获奖级别")
    private String honorLevelId;

    /**
     * 获奖等级 1特等奖 2一等级 3二等奖 4三等奖 5四等奖 6其他奖
     */
    @ApiModelProperty(value = "获奖等级")
    private String honorGradeId;

    /**
     * 完成单位
     */
    @ApiModelProperty(value = "完成单位")
    private String completeUnit;

    /**
     * 总参加单位数
     */
    @ApiModelProperty(value = "总参加单位数")
    private Integer totalUnitNum;

    /**
     * 单位排名
     */
    @ApiModelProperty(value = "单位排名")
    private String unitOrderId;

    /**
     * 奖励批准号
     */
    @ApiModelProperty(value = "奖励批准号")
    private String honorSn;

    /**
     * 学科门类 2科技类 1社科类
     */
    @ApiModelProperty(value = "学科门类")
    private String subjectClassId;

    /**
     * 学科分类 1数学 2信息科学与系统科学 3力学
     */
    @ApiModelProperty(value = "学科分类")
    private String subjectId;

    /**
     * 项目来源 202国家科技支撑计划 206国家科技部
     */
    @ApiModelProperty(value = "项目来源")
    private String projectSourceId;

    /**
     * 成果形式
     */
    @ApiModelProperty(value = "成果形式")
    private String productMode;

    /**
     * 奖励类别 1国家最高科学技术奖 2国家自然科学奖
     */
    @ApiModelProperty(value = "奖励类别")
    private String honorTypeId;

    /**
     * 所属单位
     */
    @ApiModelProperty(value = "所属单位")
    private String unitId;

    /**
     * DIVISION_ID
     */
    @ApiModelProperty(value = "DIVISION_ID")
    private String divisionId;

    /**
     * 作者数量
     */
    @ApiModelProperty(value = "作者数量")
    private Integer authorNumber;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;

    /**
     * 奖励证书
     */
    @ApiModelProperty(value = "奖励证书")
    private String fileIds;

    /**
     * 第一作者id
     */
    @ApiModelProperty(value = "第一作者id")
    private String firstAuthorId;

    /**
     * 第一作者姓名
     */
    @ApiModelProperty(value = "第一作者姓名")
    private String firstAuthorName;

    /**
     * 第一作者账号
     */
    @ApiModelProperty(value = "第一作者账号")
    private String firstAuthorAccount;

    /**
     * 第一作者职称 1A教授 2A副教授
     */
    @ApiModelProperty(value = "第一作者职称")
    private String firstAuthorTitleId;

    /**
     * 第一作者性别
     */
    @ApiModelProperty(value = "第一作者性别")
    private String firstAuthorSexId;

    /**
     * 第一作者学历 0博士研究生 1硕士研究生
     */
    @ApiModelProperty(value = "第一作者学历")
    private String firstAuthorEduLevelId;

    /**
     * 第一作者学位
     */
    @ApiModelProperty(value = "第一作者学位")
    private String firstAuthorEduDegreeId;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态分组")
    private String checkstatusGroup;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkdate;

    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private String checker;



    /**
     * 合作类型 1独立申请 2联合申请
     */
    @ApiModelProperty(value = "合作类型 1独立申请 2联合申请")
    private String cooperationType;

    /**
     * 获奖金额
     */
    @ApiModelProperty(value = "获奖金额")
    private String honorFee;
    @ApiModelProperty(value = "获奖金额小")
    private String honorFeeMin;
    @ApiModelProperty(value = "获奖金额大")
    private String honorFeeMax;
    /**
     * 本校奖金比例
     */
    @ApiModelProperty(value = "本校奖金比例")
    private String schoolScale;
    @ApiModelProperty(value = "本校奖金比例小")
    private String schoolScaleMin;
    @ApiModelProperty(value = "本校奖金比例大")
    private String schoolScaleMax;
    /**
     * 奖励类别
     */
    @ApiModelProperty(value = "奖励类别")
    private String honorType;

    /**
     * 作者IDS
     */
    @ApiModelProperty(value = "作者IDS")
    private String authorpids;

    /**
     * 作者单位IDS
     */
    @ApiModelProperty(value = "作者单位IDS")
    private String authorunitids;

    /**
     * COMPLETEDATASTATUS
     */
    @ApiModelProperty(value = "COMPLETEDATASTATUS")
    private String completedatastatus;
    /**
     * 参与作者
     */
    @ApiModelProperty(value = "参与作者")
    private String authorName;
    @ApiModelProperty(value = "导出字段列表")
    private List<String> selectedColumns;
}
